Extrapolation method for the angle-of-rotation position

ABSTRACT

A method is described for determining the angle-of-rotation position (φ) of a shaft of an internal combustion engine, in particular a crank angle (φ) of a crankshaft, information at least about incremental angles of rotation (Δφ) of the shaft and running times (T) for each incremental angle of rotation (Δφ) being detected on the basis of signals which indicate the rotation of the shaft and are spaced with intervals between them, and stored at least temporarily the instantaneous angle-of-rotation position (φ) being determined in the period of time between two signals by extrapolation of the angle-of-rotation position (φ) thus detected, taking into account at least one angular velocity ({overscore (ψ)}) and/or change in angular velocity (Δ{overscore (ψ)}) extrapolated from the stored information. In addition, a corresponding device is also described.

FIELD OF THE INVENTION

The present invention relates to a method for determining the angle-of-rotation position of a shaft of an internal combustion engine, in particular the crank angle of a crankshaft, information at least regarding incremental angles of rotation of the shaft and running times for each incremental angle of rotation being detected and stored at least temporarily on the basis of signals occurring at time intervals, indicating the rotation of the shaft. Furthermore, the present invention relates to a device for determining the angle-of-rotation position of a shaft of an internal combustion engine, in particular the crank angle of a crankshaft.

BACKGROUND INFORMATION

Methods for determining the angle-of-rotation position of a shaft of an internal combustion engine are known. In the case of a crankshaft in particular, determination of the crank angle is of great importance because important sequences in operation of the internal combustion engine, e.g., fuel injection or generation of an ignition spark, are usually controlled individually for each cylinder as a function of the crank angle. To determine the crank angle, it is known, for example, that incremental sensors may be provided on the crankshaft and/or camshaft. These are usually sensor disks, i.e., sensor wheels, having incremental marks which in interaction with a sensor in a stationary position in relation to the engine block permit a determination of the angle-of-rotation position of the crankshaft. The incremental marks on the sensor disk are often designed as a sequence of teeth and both spaces, and the changes between tooth and that tooth space and/or tooth space and tooth, i.e., the tooth flanks, are detected as tooth signals by a sensor. It is also known that an enlarged tooth space, i.e., a tooth gap, may be created by omitting at least one tooth, and the absolute angle of the shaft may be determined with each revolution of the shaft on the basis of this tooth gap.

In the methods for determining the crank angle, 6°-sensor wheels having a tooth gap are often used. These are sensor wheels which have a sequence of 3°-wide teeth and 3°-wide tooth spaces, with a total 15°-wide tooth gap being created at a position along the circumference by omission of two adjacent teeth. Such a sensor wheel has a total of 58 teeth. However, the maximum possible resolution with this configuration is not sufficient for modern methods in which the crank angle is used as a processing parameter. DE 100 17 107 A1 describes a method in which precise angles are determined from the time difference between two successive teeth, these angles not being affected by tolerances in the sensor wheel. However, this reliable method does not allow any improvement beyond the limits of resolution due to the design.

SUMMARY OF THE INVENTION

Due to the fact that the instantaneous angle-of-rotation position in the period of time between two signals is determined by extrapolation of the detected angle-of-rotation position, taking into account at least one angular velocity and/or change in angular velocity extrapolated from the stored information, the resolution of the angle-of-rotation position and/or the crank angle may be improved considerably. To achieve a greater accuracy in determining the crank angle when using a sensor wheel, as described above, the curve of the crank angle should thus be extrapolated, i.e., it should be estimated which values the angle-of-rotation position, i.e., the crank angle, will assume until the next tooth signal is received and thus an exact allocation of the crank angle to time may again be performed. Using the present invention, an angle-synchronous determination of values may be performed with a greater precision even in the event of highly dynamic changes in rotational speed. It should be pointed out that determination and storage of incremental angles of rotation may be omitted if the incremental angle of rotation is otherwise known, e.g., due to the equal tooth spacings and a determination of the tooth gap on the basis of a comparison of tooth times. To reduce the influence of short-term fluctuations in rotational speed, mean values are advantageously formed for the angular velocity and/or the change in angular velocity.

In an advantageous embodiment, a period is defined for repeating sequences during operation of the engine and information from the instantaneous period and/or at least one previous period is analyzed for the extrapolation. Thus, this makes use of the fact that although the engine performance may vary markedly within one period, the course of such variations is similar for different periods which are selected as being suitable. The extrapolation may be improved with this information.

The period is advantageously selected as a working cycle of the engine, as one revolution of the crankshaft or as a firing interval. A working cycle is defined as a period of time between an ignition point of a certain cylinder to the next ignition point of the same cylinder, while the firing interval is the period of time from the ignition point of one cylinder to the ignition point of the next cylinder. In these periods, the similarity described above is great and values from a previous period are particularly relevant.

An advantageous embodiment is obtained by the fact that a desired resolution of the angle-of-rotation position is selectable through the number of items of information analyzed in the extrapolation. Thus, in considering the resources provided for analysis, in particular the computation power, and the required precision in the angle-of-rotation position resolution, an implementation optimized for the cost/benefit ratio may be developed.

In an advantageous refinement, the angular velocity and/or the change in angular velocity in the time range is extrapolated.

Extrapolation of the angular velocity and/or the change in angular velocity is advantageously performed in the frequency range. Assuming the curve of the angular velocity and/or the change therein is derived essentially by superimposing different oscillations, the curve may be estimated particularly well through such an extrapolation.

It is advantageous if a Fourier series is used for extrapolation in the frequency range, its coefficients being determined by a recursive method. The extrapolation may thus be performed with lower requirements on the whole regarding the resources needed. In addition, on the basis of the clearly predefined computation process, it is possible to make a precise determination regarding how much time will be needed to perform an extrapolation.

An advantageous embodiment is obtained when one point in time is assigned to each value determined for the crank angle.

When using a sensor wheel rotating with the shaft and having a tooth gap estimated, angular velocities are determined at the virtual positions for the teeth missing in the tooth gap. The method according to the present invention may thus also be used in a particularly simple manner in the area of the tooth gap.

Furthermore, the present invention relates to a device for determining the angle-of-rotation position of a shaft of an internal combustion engine, in particular the crank angle of a crankshaft, having a signaling device which indicates the rotation of the shaft on the basis of signals having an interval between them; having a detection device assigned to the signaling device and ascertaining information pertaining at least to incremental angles of rotation of the shaft and running times for each incremental angle of rotation; and having a memory which stores at least temporarily the incremental angle of rotation and running times; the device also having a logic circuit which determines the instantaneous angle-of-rotation position in the time period between two signals by extrapolation of the detected angle-of-rotation position, taking into account at least one angular velocity and/or change in angular velocity extrapolated from the stored information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a curve for the rotational speed of a crankshaft for a four-cycle internal combustion engine having four cylinders.

FIG. 2 shows the general sequence in performing the extrapolation.

FIG. 3 shows the general sequence of extrapolation of the angular velocity in the frequency range.

FIG. 4 shows the general sequence of extrapolation of the change in angular velocity in the frequency range.

FIG. 5 shows the reconstruction of missing measured values with a sensor wheel having a tooth gap.

FIG. 6 shows a device for determining the angle-of-rotation position.

DETAILED DESCRIPTION

Instantaneous values for the angular velocity and/or the change in angular velocity are linked with values from past periods for performing the extrapolation. A period, as stated previously, may be defined in various ways. For the exemplary embodiment, the firing interval was selected as the period. FIG. 1 shows the curve of the rotational speed of the crankshaft for a four-cycle internal combustion engine having four cylinders. In the diagram shown there, the crank angle °KW is plotted in degrees on the abscissa and the instantaneous rotational speed rpm in revolutions per minute is plotted on the ordinate. The angle Θ_(P) represents the length of the period. In general, this angle Θ_(P) depends on the number of cylinders Z for a four-cycle engine as follows: $\Theta_{P} = {\frac{720{^\circ}\quad K\quad W}{Z}.}$

The number of measured values per period N_(P) is obtained in general as follows, where Δφ represents the crank angle between two tooth signals: $N_{P} = {\frac{\Theta_{P}}{\Delta\quad\varphi}.}$

The general sequence of determining the angular velocity and the points in time for the crank angles between the teeth of the sensor wheel is shown in FIG. 2, where Δα denotes the desired resolution in degrees of the crank angle (° crank angle, i.e., °KW) and the angle value to be extrapolated is defined by l. First in step 20 the tooth times T_(n) of the sensor wheel are determined, i.e., the time needed by the crankshaft for revolution from tooth n−1 to the next tooth n is measured. In addition, procedures for achieving a greater precision of these tooth times may also be performed. Tooth times T_(n) are then available as result 21, with which mean angular velocity {overscore (ψ)}(n) is calculated in step 22 as follows: ${\overset{\_}{\omega}(n)} = {\frac{\Delta\quad\varphi}{T_{n}}.}$

If the change in mean angular velocity Δ{overscore (ψ)}(n) is needed, it is determined as follows in comparison with the last tooth: Δ{overscore (ψ)}(n)={overscore (ψ)}(n)−{overscore (ψ)}(n−1)

These values are mean values for the corresponding tooth, which are then available as result 23. These may be assigned to the angle in the middle of the tooth, for example. The assigned angle for tooth n is given as φ_(n). Finally in step 24, the angular velocity and/or the change in angular velocity is extrapolated by one of the methods described below. After extrapolated values are available in the general form as result 25 {tilde over (ψ)}(φ, +l·Δα), further processing is then performed in step 26.

First an extrapolation method is in the time range is discussed; in this method, the change in angular velocity is extrapolated. An expanded method, which better takes into account dynamic changes in engine speed, will then be described.

For extrapolation of the change in angular velocity in the time range, the corresponding value for the change in angular velocity of the last period Δ{overscore (ψ)}((n+1)−N_(P)) is used to linearly extrapolate the angular velocity until the next tooth signal on the basis of the instantaneous value of angular velocity {overscore (ψ)}(n): ${\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {{\overset{\_}{\omega}(n)} + {{l \cdot \frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot \Delta}\quad{{\overset{\_}{\omega}\left( {\left( {n + 1} \right) - N_{P}} \right)}.}}}$

If the angular velocity for value l=0 is based on the center of the last tooth, this must be taken into account in the extrapolation of the angular velocity. For the sensor wheel having 58 teeth mentioned as an example in the introduction, Δφ=6° if only one type of tooth signal, i.e., having a falling or rising edge, is taken into account. Therefore, in a desired resolution of one degree of crank angle (1°KW) the extrapolation would have to be performed from one tooth to the next up to and including l=8.

To better take into account dynamic changes in engine speed, this method may be expanded by adding a corresponding component for the rotational speed dynamics. A straight-line slope is calculated from the change in angular velocity of the last period and the last observed change in angular velocity. This straight-line slope is added to the change in angular velocity in the last period. To minimize the influence of short-term fluctuations, the mean of L values may be used for determining the straight-line slope. This yields the following equation for extrapolation of angular velocity: ${\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {{\overset{\_}{\omega}(n)} + {{l \cdot \frac{\Delta\quad\alpha}{\Delta\quad\varphi}}\left( {{\Delta\quad{\overset{\_}{\omega}\left( {\left( {n + 1} \right) - N_{P}} \right)}} + {\frac{1}{L} \cdot \left( {{\sum\limits_{i = {n{({L - 1})}}}^{n}{\Delta\quad{\overset{\_}{\omega}(i)}}} - {\sum\limits_{i = {n - {({L - 1})} - N_{P}}}^{n - N_{P}}{\Delta\quad{\overset{\_}{\omega}(i)}}}} \right)}} \right)}}$

Instead of carrying out a linear extrapolation of angular velocity and/or the change in angular velocity, multiple previous measured values for the angular velocity and/or the change in angular velocity may also be used to determine a functional dependence (e.g., in the form of a parabola) (e.g., by the least square fit method and/or the method of least error squares). This function is then used instead of the term ${l \cdot \frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot \Delta}\quad{\overset{\_}{\omega}\left( {\left( {n + 1} \right) - N_{P}} \right)}$ for the estimates.

Now the extrapolation method in the frequency range will be explained in greater detail. For this method, the angular velocity and/or the change in angular velocity is represented by a Fourier series, which is then used for the extrapolation. The coefficients of the Fourier series may be determined effectively by a recursive method.

FIG. 3 shows the individual steps for extrapolation of the angular velocity in the frequency range. At the beginning, result 23 is available with values {overscore (ψ)}(n), Δ{overscore (ψ)}(n). Next in step 30, the coefficients for the Fourier series are calculated. This may be performed by using a recursive method, the instantaneous value of the angular velocity and the corresponding value of the last period being needed in addition to the coefficients of the last teeth. An expansion to the fifth order (k≦5) is sufficient for the required accuracy and due to the orders of the engine speed. However, a higher or lower order may of course also be selected. Angle φ_(n) denotes the crank angle assigned to tooth n. $\begin{matrix} {{{a_{0}(n)} = {{a_{0}\left( {n - 1} \right)} + {\frac{2}{N_{P}}\left\lbrack {{\overset{\_}{\omega}(n)} - {\overset{\_}{\omega}\left( {n - N_{P}} \right)}} \right\rbrack}}},} \\ {{{a_{1}(n)} = {{a_{1}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\overset{\_}{\omega}(n)} - {\overset{\_}{\omega}\left( {n - N_{P}} \right)}} \right\rbrack} \cdot {\cos\left( {1 \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ {{{b_{1}(n)} = {{b_{1}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\overset{\_}{\omega}(n)} - {\overset{\_}{\omega}\left( {n - N_{P}} \right)}} \right\rbrack} \cdot {\sin\left( {1 \cdot \frac{2\quad\pi}{{N_{p} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ \ldots \\ {{{a_{k}(n)} = {{a_{k}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\overset{\_}{\omega}(n)} - {\overset{\_}{\omega}\left( {n - N_{P}} \right)}} \right\rbrack} \cdot {\cos\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ {{b_{k}(n)} = {{b_{k}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\overset{\_}{\omega}(n)} - {\overset{\_}{\omega}\left( {n - N_{P}} \right)}} \right\rbrack} \cdot {\sin\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}} \end{matrix}$

Next a Fourier series may be developed for ω(φ_(n)) from these coefficients (result 31): ${\omega\left( \varphi_{n} \right)} = {\frac{a_{0}(n)}{2} + {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)} \cdot {\cos\left( {k\quad\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi}\varphi_{n}} \right)}} + {{b_{k}(n)} \cdot {\sin\left( {k\quad\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi}\varphi_{n}} \right)}}} \right\rbrack}}$

Finally, this Fourier series is used in step 32 for the extrapolation of angular velocity {tilde over (ψ)}(φ_(n)+l·Δα) to then obtain result 33, which is needed for the remaining course and which corresponds to result 25 that was described above in general terms: ${\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {\frac{a_{0}(n)}{2} + {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)} \cdot {\cos\left( {k\quad\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} \right)}} + {{b_{k}(n)} \cdot {\sin\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} \right)}}} \right\rbrack}}$

As in the extrapolation in the time range, another term may be added for taking into account dynamic changes in engine speed. As described above, this term may be determined from the straight-line slope between the instantaneous values of the angular velocity or the change in angular velocity and those of the previous period.

FIG. 4 shows the individual substeps in extrapolation of the change in angular velocity in the frequency range using a Fourier series. Here again, result 23 with values {overscore (ψ)}(n), Δ{overscore (ψ)}(n) is available at the beginning. As with the Fourier series for angular velocity, the coefficients of the Fourier series for the change in angular velocity may be determined by a recursive method in step 40: $\begin{matrix} {{{a_{0}(n)} = {{a_{0}\left( {n - 1} \right)} + {\frac{2}{N_{P}}\left\lbrack {{\Delta{\overset{\_}{\omega}(n)}} - {\Delta{\overset{\_}{\omega}\left( {n - N_{P}} \right)}}} \right\rbrack}}},} \\ {{{a_{1}(n)} = {{a_{1}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\Delta{\overset{\_}{\omega}(n)}} - {\Delta{\overset{\_}{\omega}\left( {n - N_{P}} \right)}}} \right\rbrack} \cdot {\cos\left( {1 \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ {{{b_{1}(n)} = {{b_{1}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\Delta{\overset{\_}{\omega}(n)}} - {\Delta{\overset{\_}{\omega}\left( {n - N_{P}} \right)}}} \right\rbrack} \cdot {\sin\left( {1 \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ {{{a_{k}(n)} = {{a_{k}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\Delta{\overset{\_}{\omega}(n)}} - {\Delta{\overset{\_}{\omega}\left( {n - N_{P}} \right)}}} \right\rbrack} \cdot {\cos\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}},} \\ {{b_{k}(n)} = {{b_{k}\left( {n - 1} \right)} + {{\frac{2}{N_{P}}\left\lbrack {{\Delta{\overset{\_}{\omega}(n)}} - {\Delta{\overset{\_}{\omega}\left( {n - N_{P}} \right)}}} \right\rbrack} \cdot {\sin\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \varphi_{n}} \right)}}}} \end{matrix}$

Again an expansion to the fifth order (k≦5) is sufficient for the required precision and due to the orders of the engine speed. Here again, however, a higher or lower order may of course also be selected. A Fourier series for Δψ(φ_(n)) may subsequently be formulated from these coefficients as result 41: ${\Delta\quad{\omega\left( \varphi_{n} \right)}} = {\frac{a_{0}(n)}{2} + {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)} \cdot {\cos\left( {k\quad\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi}\varphi_{n}} \right)}} + {{b_{k}(n)} \cdot {\sin\left( {k\quad\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi}\varphi_{n}} \right)}}} \right\rbrack}}$

This Fourier series is used in step 42 for the extrapolation of the change in angular velocity Δ{tilde over (ψ)}((φ_(n)+l·Δα) which then yields result 43: ${\Delta{\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)}} = {\frac{a_{0}(n)}{2} + {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)} \cdot {\cos\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} \right)}} + {{b_{k}(n)} \cdot {\sin\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} \right)}}} \right\rbrack}}$

Finally in step 44 angular velocity {tilde over (ψ)}(φ_(n)+l·Δα) is determined as follows using the extrapolated values for the change in angular velocity (result 45, corresponding to general result 25): ${\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {{\overset{\_}{\omega}(n)} + {\frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot {\sum\limits_{j = 1}^{l}{\Delta\quad{\overset{\sim}{\omega}\left( {\varphi_{n} + {{j \cdot \Delta}\quad\alpha}} \right)}}}}}$

Inserted this yields: ${\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {{\overset{\_}{\omega}(n)} + {\frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot {\sum\limits_{j = 1}^{l}\left\{ {\frac{a_{0}(n)}{2} + {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)}\quad{\cos\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{j \cdot \Delta}\quad\alpha}} \right)} \right)}} + {{b_{k}(n)}\quad{\sin\left( {k \cdot \frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{j \cdot \Delta}\quad\alpha}} \right)} \right)}}} \right\rbrack}} \right\}}}}$

For an efficient calculation of {tilde over (ψ)}(φ_(n)+l·Δα), the following recursive equation may be used: $\begin{matrix} {{\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)} = {{\overset{\sim}{\omega}\left( {\varphi_{n} + {{\left( {l - 1} \right) \cdot \Delta}\quad\alpha}} \right)} + {{\frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot \Delta}\quad{\overset{\sim}{\omega}\left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)}}}} \\ {= {{\overset{\sim}{\omega}\left( {\varphi_{n} + {\left( {l - 1} \right)\quad\Delta\quad\alpha}} \right)} + {\frac{\Delta\quad\alpha}{\Delta\quad\varphi} \cdot \left( {\frac{a_{0}(n)}{2} +} \right.}}} \\ {\sum\limits_{k = 1}^{m}\left\lbrack {{{a_{k}(n)}\quad{\cos\left( {k\quad{\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)}} \right)}} +} \right.} \\ \left. \left. {{b_{k}(n)}\quad{\sin\left( {k\quad{\frac{2\quad\pi}{{N_{P} \cdot \Delta}\quad\varphi} \cdot \left( {\varphi_{n} + {{l \cdot \Delta}\quad\alpha}} \right)}} \right)}} \right\rbrack \right) \end{matrix}$

To be able to better detect dynamic changes in engine speed, another term which reflects these changes in speed may additionally be used. As in the extrapolation method in the time range, the straight-line slope between the change in angular velocity of the previous period and the instantaneous value is determined. Furthermore, to determine the straight-line slope, the mean of multiple values may again be used instead of using individual values to minimize the effect of short-term fluctuations. This procedure is analogous to that described above. The area of the tooth gap represents an extension of the sequences presented for the various extrapolation options, but the procedure described below is the same for all these options. In extrapolation from tooth to tooth gap, the values for the angular velocity and/or the change in angular velocity must be extrapolated further because the next tooth signal is generated only after the tooth gap. Thus the measured values for the missing teeth must be reconstructed. These are needed, for example, when measured values for the previous period, which are used to determine the Fourier coefficients, for example, fall in the area of a tooth gap. Reconstruction is performed by interpolation; the values of the missing teeth, which are closer to the last tooth before the tooth gap are extrapolated from this last value. The values for the remaining missing teeth are calculated from the measured value obtained via the tooth gap and the extrapolated measured values of the tooth gap. This principle is described in detail below for a gap of two teeth. The measured angular velocities for one tooth are allocated to the middle of this tooth. This method may be used analogously for a different allocation (e.g., to the end of a tooth).

FIG. 5 shows how three values for the angular velocity are reconstructed in the case of a gap of two teeth. To simplify the diagram, the sequence of teeth 52, tooth spaces 54 and tooth gap 56 formed by removing the two teeth shown with dotted lines is shown here along a straight line 50. Arrows pointing vertically downward represent tooth signals S_(i−1), Si, S_(i+1) and S_(i+2) of teeth i−1, i, i+1 and i+2 (seen from left to right). The individual steps are as follows:

-   -   The first value of the angular velocity at crank angle φ_(ZL1)         is determined using extrapolated period T_(ZL1e) from the         previous measured value (of tooth i):         ${\overset{\_}{\omega}\left( \varphi_{ZL1} \right)} = {\frac{\Delta\quad\varphi}{T_{{ZL1},e}}.}$     -   The mean value measured over the tooth gap is allocated to the         mean value of the angular velocity at crank angle φ_(ZL2):         ${\overset{\_}{\omega}\left( \varphi_{ZL2} \right)} = {\frac{\Delta\quad\varphi_{ZL}}{T_{ZL}}.}$     -   Finally, the value of the angular velocity at crank angle         φ_(ZL3) is reconstructed as follows:         ${\overset{\_}{\omega}\left( \varphi_{ZL3} \right)} = {{2\quad\frac{\Delta\quad\varphi_{ZL}}{T_{ZL}}} - {\frac{\Delta\quad\varphi}{T_{{ZL1},e}}.}}$

Next, according to the standard method without a tooth gap, the angular velocity may be determined using these reconstructed mean values for the angular velocity.

From the extrapolated values for the angular velocity, time may finally also be allocated to the values for the crank angle as follows: $\begin{matrix} {{t\left( {\varphi_{0} + {n\quad\Delta\quad\varphi} + {l\quad\Delta\quad\alpha}} \right)} = {t_{0} + {\sum\limits_{i = 1}^{n}\frac{\Delta\quad\varphi}{\overset{\_}{\omega}(i)}} + {\sum\limits_{j = 1}^{l}\frac{\Delta\quad\alpha}{\overset{\sim}{\omega}\left( {\varphi_{n} + {j\quad\Delta\quad\alpha}} \right)}}}} \\ {{{for}\quad n},{l \geq 1}} \end{matrix}$ where t₀ corresponds to the point in time at which the crank angle has assumed the value φ₀. The points in time allocated to the crank angle are efficiently determined by the following recursions: $\begin{matrix} {{t_{n} = {{t\left( {\varphi_{0} + {n\quad\Delta\quad\varphi}} \right)} = {t_{n - 1} + \frac{\Delta\quad\varphi}{\overset{\_}{\omega}(n)}}}},} \\ {t_{n,l} = {{t\left( {\varphi_{0} + {n\quad\Delta\quad\varphi} + {l\quad\Delta\quad\alpha}} \right)} = {t_{n} + {\sum\limits_{j = 1}^{l}\frac{\Delta\quad\alpha}{\overset{\sim}{\omega}\left( {\varphi_{n} + {j\quad\Delta\quad\alpha}} \right)}}}}} \\ {\quad{= {t_{n,{l - 1}} + \frac{\Delta\quad\alpha}{\overset{\sim}{\omega}\left( {\varphi_{n} + {l\quad\Delta\quad\alpha}} \right)}}}} \end{matrix}$

FIG. 6 shows a device 60 for performing a method according to the present invention. A sensor wheel 68 having teeth 52, tooth spaces 54 and a tooth gap 56 is situated in a rotationally fixed manner on a shaft 61 of an internal combustion engine 62, here a crankshaft 63. Sensor 20 is stationary with respect to internal combustion engine 10 [sic]. Signaling device 54 [sic; 64] detects the sequence of teeth 52 and tooth spaces 54 and/or gap 56 as they pass by and generates an incremental angle of rotation signal, i.e., tooth signal S_(i). This signal is relayed to an analyzer unit 65 which sends a crank angle φ to memory 66 and also to logic circuit 67. Crank angle φ may then be queried by an engine control of engine 62, for example, at output A of logic circuit 67. If analyzer 65 has just received a tooth signal S_(i), crank angle φ is known precisely and logic circuit 67 relays this information about crank angle φ directly to output A. In the period of time until the arrival of another tooth signal S_(i), logic circuit 67 determines crank angle φ on the basis of the method described here and relays the calculated information to output A. Thus precise information about crank angle φ is always available at output A even between tooth signals S_(i). 

1. A method for determining an angle-of-rotation position of a shaft of an internal combustion engine, comprising: detecting information about at least incremental angles of rotation of the shaft and running times for each incremental angle of rotation, the detecting being performed on the basis of signals that indicate a rotation of the shaft and are spaced with an interval between them and stored at least temporarily as stored information; and determining an instantaneous angle-of-rotation position in a period of time between two signals by extrapolation of the angle-of-rotation position thus detected, taking into account at least one of an angular velocity and a change in angular velocity extrapolated from the stored information.
 2. The method as recited in claim 1, further comprising: forming mean values for at least one of the angular velocity and the change in angular velocity to reduce an influence of short-term fluctuations in a rotational speed.
 3. The method as recited in claim 1, further comprising: defining an instantaneous period for sequences that repeat during operation of the internal combustion engine; and analyzing, for the extrapolation, information from at least one of the instantaneous period and at least one period in the past.
 4. The method as recited in claim 3, further comprising: selecting the instantaneous period as one of a working cycle of the internal combustion engine, a crankshaft revolution, and a firing interval.
 5. The method as recited in claim 1, wherein a desired angle-of-rotation position resolution is selectable through a number of items of information analyzed in the extrapolation.
 6. The method as recited in claim 1, further comprising: performing the extrapolation of at least one of the angular velocity and the change in angular velocity in a time range.
 7. The method as recited in claim 1, further comprising: performing the extrapolation of at least one of the angular velocity and the change in angular velocity in a frequency range.
 8. The method as recited in claim 7, wherein the extrapolation is performed in accordance with a Fourier series whose coefficients are determined by a recursive method.
 9. The method as recited in claim 1, further comprising: assigning a point in time to each of values determined for the angle-of-rotation position.
 10. The method as recited in claim 1, further comprising: when using a sensor wheel that rotates with the shaft and has a tooth gap, determining estimated angular velocities at virtual positions for teeth missing in the tooth gap.
 11. The method as recited in claim 1, wherein the angle-of-rotation position of the shaft includes a crank angle of a crankshaft.
 12. A device for determining an angle-of-rotation position of a shaft of an internal combustion engine, comprising: a signaling device that indicates a rotation of the shaft on the basis of signals having time intervals between them; a detection device allocated to the signaling device and ascertaining information concerning at least incremental angles of rotation of the shaft and running times for each incremental angle of rotation; a memory for storing at least temporarily the incremental angles of rotation and the running times as stored information; and a logic circuit for determining an instantaneous angle-of-rotation position in a period of time between two signals by extrapolation of the angle-of-rotation position detected, the determining taking into account at least one of an angular velocity and a change in angular velocity extrapolated from the stored information.
 13. The device as recited in claim 12, wherein the angle-of-rotation position of the shaft includes a crank angle of a crankshaft. 